package com.yunji.storage.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.BaseDTO;
import com.yunji.storage.domain.RepairInfoDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Project: yunji-coffee
 * @Package: com.yunji.storage.vo
 * @Title: RepairTicketVO
 * <p>
 * History:
 * Date                     Version     Author          Summary
 * ============================================================
 * 2024-08-28 15:03:43      V1.0        HuaAo       新建类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RepairTicketVO extends BaseDTO {

    @ApiModelProperty("坏返单据ID")
    private Long repairId;

    @ApiModelProperty("坏返单据Code")
    @Excel(name = "坏返单据Code", width = 15)
    private String repairCode;

    @ApiModelProperty("报废单据ID")
    private Long discardId;

    @ApiModelProperty("报废单据Code")
    @Excel(name = "报废单据Code", width = 15)
    private String discardCode;

    @ApiModelProperty("发起单位")
    private Long belongId;

    @ApiModelProperty(value = "调出单位", required = true)
    private Long outBelongId;

    @ApiModelProperty("调入单位")
    private Long intoBelongId;

    @ApiModelProperty("坏返状态 0-草稿 1-已提交 2-待入库 3-已完成 4-已取消 5-作废")
    @Excel(name = "维修状态 0-草稿 1-已提交 2-待出库 3-待入库 4-已完成 5-已取消", width = 15)
    private Integer repairStatus;

    @ApiModelProperty(value = "附件（照片）", required = true)
    @Excel(name = "附件（照片）", width = 15)
    private String albumPics;

    @ApiModelProperty("申请人ID")
    private Long applyId;

    @ApiModelProperty("申请人所属ID")
    private Long applyBelongId;

    @ApiModelProperty("申请人姓名")
    @Excel(name = "申请人姓名", width = 15)
    private String applyName;

    @ApiModelProperty("申请人所属名称")
    @Excel(name = "申请人所属名称", width = 15)
    private String applyBelongName;

    @ApiModelProperty("申请时间")
    @Excel(name = "申请时间", width = 15)
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    @ApiModelProperty("审核人ID")
    private Long auditId;

    @ApiModelProperty("审核人所属ID")
    private Long auditBelongId;

    @ApiModelProperty("审核人姓名")
    @Excel(name = "审核人姓名", width = 15)
    private String auditName;

    @ApiModelProperty("审核人所属名称")
    @Excel(name = "审核人所属名称", width = 15)
    private String auditBelongName;

    @ApiModelProperty("审核时间")
    @Excel(name = "审核时间", width = 15)
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    @ApiModelProperty("审核状态 0-待审核 1-通过 2-驳回")
    @Excel(name = "审核状态 0-待审核 1-通过 2-驳回", width = 15)
    private Integer auditStatus;

    @ApiModelProperty("处理类型 1-返厂 2-报废")
    @Excel(name = "处理类型 1-返厂 2-报废", width = 15)
    private Integer handleType;

    @ApiModelProperty("坏返备注")
    @Excel(name = "坏返备注", width = 15)
    private String remark;

    @ApiModelProperty("驳回原因")
    @Excel(name = "驳回原因", width = 15)
    private String reason;

    @ApiModelProperty("删除状态 0-未删除 1-已删除")
    private Integer delFlag;
    @ApiModelProperty("坏返总数")
    @Excel(name = "坏返总数", width = 15)
    private BigDecimal repairAmount;

    @ApiModelProperty("坏返详情")
    private List<RepairInfoDO> infoList;

    @ApiModelProperty("父级所属ID")
    private Long parentId;

    @ApiModelProperty("所属单位名称")
    @Excel(name = "所属单位名称", width = 15)
    private String belongName;

    @ApiModelProperty("出库单位名称")
    @Excel(name = "出库单位名称", width = 15)
    private String outBelongName;

    @ApiModelProperty("入库单位名称")
    @Excel(name = "入库单位名称", width = 15)
    private String intoBelongName;

    @ApiModelProperty("草稿(0-存在 1-不存在)")
    private Integer draftStatus;

}